//package net.qhzw.vip.qiyu.config;
//
//import cn.binarywang.wx.miniapp.api.WxMaService;
//import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
//import cn.binarywang.wx.miniapp.config.WxMaConfig;
//import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
//import com.github.binarywang.wxpay.config.WxPayConfig;
//import com.github.binarywang.wxpay.constant.WxPayConstants;
//import com.github.binarywang.wxpay.service.WxPayService;
//import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
//import net.qhzw.vip.qiyu.service.PayConfigService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.core.io.ClassPathResource;
//import org.springframework.core.io.Resource;
//
//@Configuration
//public class WxConfig {
//
//    @Autowired
//    private WxProperties properties;
//
//    @Autowired
//    private WxPay wxPay;
//
//    @Bean
//    public WxMaConfig wxMaConfig() {
//        WxMaInMemoryConfig config = new WxMaInMemoryConfig();
//        config.setAppid(properties.getAppId());
//        config.setSecret(properties.getAppSecret());
//        return config;
//    }
//
//    @Bean
//    public WxMaService wxMaService(WxMaConfig maConfig) {
//        WxMaService service = new WxMaServiceImpl();
//        service.setWxMaConfig(maConfig);
//        return service;
//    }
//
//    @Bean
//    public WxPayConfig wxPayConfig() {
//        WxPayConfig payConfig = new WxPayConfig();
//        payConfig.setAppId(properties.getAppId());
//        payConfig.setMchId(properties.getMchId());
//        payConfig.setMchKey(properties.getMchKey());
//        payConfig.setNotifyUrl(properties.getNotifyUrl());
//        payConfig.setKeyPath(properties.getKeyPath());
//        payConfig.setTradeType("JSAPI");
//        payConfig.setSignType("MD5");
//        return payConfig;
//    }
//
//
//    @Bean
//    public WxPayService wxMiniPayService() {
//        return getWxMpPayServiceByAppId(properties.getAppId());
//    }
//
//    private WxPayService getWxMpPayServiceByAppId(String appid) {
//        WxPayConfig payConfig = new WxPayConfig();
//        payConfig.setAppId(appid);
//        payConfig.setMchId(wxPay.getMchId());
//        payConfig.setMchKey(wxPay.getMchKey());
//        payConfig.setKeyPath(wxPay.getKeyPath());
//        payConfig.setSignType(WxPayConstants.SignType.MD5);
//        payConfig.setKeyPath(getKeyPath()); //微信支付p12证书的文件路径
//        WxPayService wxPayService = new WxPayServiceImpl();
//        wxPayService.setConfig(payConfig);
//        return wxPayService;
//    }
//
//    /***
//     * 获取微信支付p12证书的文件路径
//     * @return
//     */
//    private String getKeyPath() {
//        String path = "";
//        try {
//            Resource resource = new ClassPathResource("config/apiclient_cert.p12");
//            path = resource.getFile().getPath();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return path;
//    }
//
//
//}
